iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
自我挑戰組

學習python連續30天系列 第 2

用python找質數

  • 分享至 

  • xImage
  •  

def is_prime(num):
if num<=1:
return False

for i in range(2,num):
    if num % i == 0:
        return False
return True

解釋:
1.
for i in range(2, number):
if number % i == 0:
從 2 到 number ,一個一個拿來除 number。只要找到「任何一個」可以整除,也就是餘數等於 0,就不是質數。

不會除到自己
因為range(2, number) 不包含 number 本身。

例如
number = 7

那:range(2, 7)

實際上是:2, 3, 4, 5, 6

這3個return位子都不一樣
def is_prime(num):
├─ if num <= 1:
│ └─ return False

├─ for i in range(...):
│ └─ if num % i == 0:
│ └─ return False

└─ return True

第一個return--第一個return
第二個return--是在 for 裡面,找到任何一個可以整除的數,就直接結束。
第三個return--它跟 for 是同一層,不在 for 裡面,前面的檢查全部都沒有 return False,最後才回傳 True


上一篇
Python 30 天學習挑戰 Day 1|Global Scope(全域變數)與 Local Scope(區域變數)
下一篇
為什麼 enemies = 2,最後印出來還是 1?
系列文
學習python連續30天3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言